package com.sls.web.manager.game.service;

import java.util.List;

import com.sls.web.manager.game.pojo.maxshu.MaxshuAccountType;
import com.sls.web.manager.game.pojo.maxshu.MaxshuAreaServer;
import com.sls.web.manager.game.pojo.maxshu.MaxshuProduct;
import com.sls.web.manager.game.pojo.maxshu.MaxshuRechargeType;
import com.sls.web.manager.game.pojo.maxshu.MaxshuRespInfo;
import com.sls.web.manager.page.Pagination;
import com.sls.web.manager.pojo.UserInfoVO;

public interface MaxshuService {

	/**
	 * 分页查询
	 * 
	 * @return
	 */
	public Pagination<MaxshuProduct> queryProPagination(
			MaxshuProduct proQuery, UserInfoVO userInfoVO);

	public Pagination<MaxshuAccountType> queryAccPagination(
			MaxshuAccountType accQuery, UserInfoVO userInfoVO);

	public Pagination<MaxshuRechargeType> queryRechPagination(
			MaxshuRechargeType rechQuery, UserInfoVO userInfoVO);

	public Pagination<MaxshuAreaServer> queryASPagination(
			MaxshuAreaServer asQuery, UserInfoVO userInfoVO);

	/**
	 * 详情查询
	 * 
	 * @param id
	 * @param userInfoVO
	 * @return
	 */
	public MaxshuProduct queryById(String id, UserInfoVO userInfoVO);

	/**
	 * 修改产品信息
	 * 
	 * @param pro
	 * @param userInfoVO
	 */
	public void updatePro(MaxshuProduct pro, UserInfoVO userInfoVO);

	/**
	 * 同步产品区服信息
	 * 
	 * @param userInfoVO
	 */
	public void sync(UserInfoVO userInfoVO);

	/**
	 * 保存产品信息
	 * 
	 * @param pro
	 * @param userInfoVO
	 */
	public void save(MaxshuProduct pro, UserInfoVO userInfoVO);

	/**
	 * 批量审核
	 * 
	 * @param supplierId
	 * @param priceRatio
	 * @param currentOperator
	 */
	public void confirmAudit(String supplierId, int priceRatio,
			UserInfoVO currentOperator);

	/**
	 * 批量上架
	 * 
	 * @param state
	 * @param currentOperator
	 */
	public void batchOnline(String state, UserInfoVO currentOperator);

	/**
	 * 批量下架
	 * 
	 * @param state
	 * @param currentOperator
	 */
	public void batchOffline(String state, UserInfoVO currentOperator);

	/**
	 * 查询所有产品信息
	 * 
	 * @param userInfoVO
	 * @return
	 */
	public List<MaxshuProduct> queryAllProduct(UserInfoVO userInfoVO);

	/**
	 * 余额查询
	 * 
	 * @param userInfoVO
	 * @return
	 */
	public MaxshuRespInfo queryBalance(UserInfoVO userInfoVO);

	/**
	 * 订单查询
	 * 
	 * @param userInfoVO
	 * @return
	 */
	public MaxshuRespInfo queryOrder(String orderId, UserInfoVO userInfoVO);

}
